Computer systems start executing instructions by performing what is commonly referred to as “booting.” These instructions may be stored in a Read Only Memory (ROM) or flash memory chip that are automatically executed upon startup, i.e., upon the user of the computer system depressing the power switch. These instructions, upon execution, search for the operating system, load it and pass control to it. The loading and passing control to the operating system may be referred to as “booting the operating system.” Upon loading the operating system, the operating system creates the environment for all application programs that run on the computer system. The duration of time between the user depressing the power switch to the loading and execution of the operating system may be referred to as “boot time”. Typically, the boot time for a computer system is a short amount of time, e.g., 30 seconds or less.
Computer users have become accustomed to a rather short boot time. However, in certain types of environments, such as a client device/data center environment, the boot time of a computer may be significantly longer.
In a client device/data center environment, multiple computer systems, referred to as client devices, may be coupled to a data center that includes a control module and multiple computer systems, referred to as server blades. A client device may refer to a computer system with input/output capabilities but does not include any processing capability. These processing elements may instead reside in a server blade. A server blade may refer to a server that does not include a storage resource, e.g., storage array. The storage resource may be a separate unit that is shared among the server blades.
The present method for booting the client device, i.e., booting the operating system of the client device, includes the client device sending a command to boot its operating system to the control module of the data center. The control module first authenticates the client device. The control module may then search the available server blades for a server blade that meets the client device's requirements. The control module may then locate the client device's image file, i.e., operating system. Upon locating the client device's image file, the control module loads the client device's image file into the appropriate server blade. Once the client device's image file is loaded into the appropriate server blade, the server blade then boots the client device's image file using a resource allocated to boot the client device's image file. Since booting to the operating system of the client device includes authenticating the client device, locating and loading the client device's image file, allocating a resource in the server blade to boot the client device's image file and then finally booting the client device's image file, the boot time for a client device in a client device/data center environment is significantly greater than for a typical personal computer.
Since users of personal computers are accustomed to a rather quick boot time, the user of a client device in a client device/data center environment may be dissatisfied with the boot time that takes significantly longer.
Therefore, there is a need in the art to reduce the boot time for a client device in a client device/data center environment.